A storage switch (hereinafter referred to as a virtual switch) supplies a server with a virtual volume by extracting and linking physical volumes of a storage connected to the switch via a storage area network (SAN).
FIG. 18 illustrates a structure of a virtual storage system including typical virtual switches 11 and 12. The virtual switches 11 and 12 supply an operation server 14 with virtual volumes by extracting and linking physical volumes 19 of at least one storage 15 (magnetic disk device). Commands to extract the virtual volumes and to link the virtual volumes to the virtual switches 11 and 12 are issued by a management server 13. The operation server 14, the virtual switches 11 and 12, and the storage 15 is interconnected via storage area networks (SANs) 16 and 17. The management server 13 and the virtual switches 11 and 12 are connected via a local area network (LAN) 18.
The virtual switches 11 and 12 may have a copying function for copying a virtual volume in response to an instruction from the management server 13 or periodically. In order to copy the virtual volume, the virtual switches 11 and 12 partition a copy target area of the virtual volume into a plurality blocks by predetermined constant size, and perform a copying operation on a per block basis. The virtual switches 11 and 12 then generate bitmap information in which the blocks resulting from partitioning the copy target area of the virtual volume are respectively mapped to index bits, and manage the blocks in terms of being copied or uncopied depending on whether each index bit is on or off. At the start of copying, all index bits of the bitmap information are set to be on and the index bit of a copied block is then set to off. When all index bits are set to off, the copying operation has been completed.
The copying operation of the virtual volume is performed in a manner free from affecting the operation server 14. In the middle of the copying operation, the operation server 14 is permitted to perform an input/output (I/O) operation. If the operation server 14 has issued a read I/O instruction in the middle of the copying operation, data is read from a virtual volume of a copy source. If the operation server 14 has issued a write I/O instruction in the middle of the copying operation, data is written onto virtual volumes of a copy source and a copy destination.
Even after the copying operation of all the data on the copy area of the virtual volume has been completed, an equivalent state between the copy source and the copy destination is maintained until a copy end instruction is issued (equivalence maintenance state). No data is written onto the copy destination during the copying operation or during a suspension period throughout which the copying operation of the virtual volume in the equivalence maintenance state is suspended. If the operation server 14 issues the write I/O instruction to the virtual volume in the copying operation, data is written onto the virtual volume of the copy source only, and the bitmap information of that block is set to be an uncopied state (ON state). When the copying operation resumes, the block having the bitmap information in the uncopied state starts to be copied.
There are Japanese Laid-open Patent Publication Nos. 2001-166974 and 2002-297455 as reference documents.
The size of the bitmap information is determined by the size of virtual volume and the size of partitioned blocks. For example, if a 2 TB virtual volume is partitioned into blocks, each block having a size of 32 MB, the size of the bitmap information becomes 8 KB. Given the same size of the virtual volume, the larger the block size, the smaller the bitmap information size, and the smaller the block size, the larger the bitmap information size.
With a smaller block size, the copy progress state can be more efficiently controlled. For example, the operation server (host system, exterior system) may now perform a write I/O to the copy source for a 1 MB portion of a predetermined block. The block containing data updated in response to the write I/O instruction is changed to an uncopied state. If the block size is 32 MB, a copying operation is performed with unupdated data of 31 MB needlessly copied. If updated data spreads two blocks, a copying operation is performed with unupdated data of 63 MB needlessly copied. If the block size is 1 MB, and the updated data falls within one block, a copying operation is performed in a manner free from needless copying of any data.
Since exclusive control is performed in the middle of a copying operation of a block, a write I/O instruction to the block from the operation server needs to wait on standby. The smaller the block size, the less the contention with the write I/O instruction occurs. Even if a contention occurs, a waiting time to the write I/O instruction is shorter.
An area available for system information such as the bitmap information on the virtual switch is typically not so large. For this reason, the size of the bitmap information is fixed, and the block size is determined by the size of the virtual volume. The larger the size of the virtual volume, the larger the block size is forced to be.
On the other hand, the memory or the disk storing the system information such as the bitmap information becomes less costly each year. Room may be caused in a system information area by performing hot-swap or hot-add operation on system hardware, or by improving system firmware. However, if an area available for the system information is expanded by an addition of area, the bitmap information cannot be dynamically changed in the middle of the copying operation, and the size of the bitmap information cannot be changed.